package com.ctbu.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 贷款产品表
 * </p>
 *
 * @author lli
 * @since 2024年06月18日
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("loan_product")
@ExcelTarget(value="loan_product")
public class LoanProduct implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 产品ID
     */
    @TableId(value = "product_id", type = IdType.AUTO)
    @Excel(name="产品ID")
    private Integer productId;

    /**
     * 贷款类型ID
     */
    @TableField("loan_type_id")
    @Excel(name="贷款类型ID",width = 20)
    private Integer loanTypeId;

    //添加临时字段：数据库中没有但是在业务中有应用
    @TableField(exist = false)
    private LoanProductType loanProductType;

    /**
     * 银行ID
     */
    @TableField("bank_id")
    @Excel(name="银行",width = 25)
    private Integer bankId;

    //添加临时字段：数据库中没有但是在业务中有应用
    @TableField(exist = false)
    private BankInfo bankInfo;

    /**
     * 产品名称
     */
    @TableField("product_name")
    @Excel(name="产品名称",width = 25)
    private String productName;

    /**
     * 利率
     */
    @TableField("interest_rate")
    @Excel(name="利率")
    private BigDecimal interestRate;

    /**
     * 最高额度
     */
    @TableField("max_limit")
    @Excel(name="最高额度")
    private BigDecimal maxLimit;

    /**
     * 最长期限
     */
    @TableField("max_term")
    @Excel(name="最长期限")
    private Integer maxTerm;

    /**
     * 其他属性
     */
    @TableField("other_attributes")
    @Excel(name="其他属性",width = 35)
    private String otherAttributes;


}
